package com.syh.jn.scm.domain.operation.repository.supplier;

import com.syh.core.ddd.infrastructure.repository.AggregateRepository;
import com.syh.jn.scm.domain.operation.entity.supplier.OperaSupplier;
import com.syh.jn.scm.domain.operation.entity.supplier.OperaSupplierAccount;
import com.syh.jn.scm.dto.operation.supplier.OperaSupplierAccountMto;
import com.syh.jn.scm.dto.operation.supplier.OperaSupplierAddressVo;

import java.util.List;

public interface OperaSupplierRepository extends OperaSupplierReadRepository, AggregateRepository<OperaSupplier, Long> {

  /**
   * 重载update方法，选择是否更新地址
   * @param operaSupplier 更新的服务商
   * @param isUpdateAddress 是否更新地址 true更新 false不更新
   */
  void update(OperaSupplier operaSupplier, boolean isUpdateAddress);
  /**
   * 停用
   */
  public void disabled(OperaSupplier operaSupplier);

  /**
   * 启用
   */
  public void enabled(OperaSupplier operaSupplier);

  /**
   * 根据id查地址列表
   *
   * @return
   */
  public List<OperaSupplierAddressVo> getAddressListById(Long id);
}
